package com.yaorange.module.system.repository;

import com.yaorange.module.system.entity.dto.SysUserQueryDTO;
import com.yaorange.pojo.SysUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  用户表操作
 */
public interface SysUserRepository {
    /**
     *  根据编号查询用户
     * @param id
     * @return
     */
    SysUser selectById(@Param("id") Long id);

    /**
     *  新增用户
     * @param user
     * @return
     */
    int insert(SysUser user);

    /**
     *  分页查询
     * @param sysUserQueryDTO
     * @return
     */
    List<SysUser> selectPage(SysUserQueryDTO sysUserQueryDTO);

    /**
     *  修改用户
     * @param userDetails
     * @return
     */
    int update(SysUser userDetails);

    /**
     *  删除用户
     * @param id
     * @return
     */
    int deleteById(@Param("id") Long id);

    /**
     * 查询用户
     * @param username
     * @return
     */
    SysUser selectByName(String username);
}
